import _ from 'lodash';

/**
 * 去除对象中的空项
 * @param obj 对象
 * @return {*} 去除空项之后的对象
 */
export function compact(obj) {
    // 遍历对象属性
    _.each(obj, (v, k) => {
        // 如果是嵌套的对象则递归之
        if (_.isObject(v)) {
            compact(v);
        }
        if (_.isObject(v)) {
            // 空对象或数组删除之
            if (_.isEmpty(v)) {
                delete obj[k];
            }
        } else if (!v) {
            // 空值更要删除
            delete obj[k];
        }
    });
    return obj;
}
